package Exception.Text001;

import java.util.Scanner;

/**
 * ClassName:ExceptionDome013
 * Package:Exception
 * Description:
 *
 * @Author:ZhangXin
 * @Create2023/2/26-18:03
 * @Version:v1.0
 */
public class GirlFriendText001 {
    /*需求
     * 键盘录入自己心意女盆友的姓名和年龄
     * 姓名的长度在3~10之间
     * 年龄的范围18~40岁
     * 超出这个范围异常数据不能赋值,需要重新录入,一直录到正确为止
     *
     * 提示
     * 需要考虑用户在键盘录入时的所有情况
     * 比如:录入年龄时超出范围,录入年龄时录入了abc等情况*/

    //抛出：告诉调用者出错了
    //捕获：不让程序停止
    public static void main(String[] args) {

        //创建键盘录入对象
        Scanner sc = new Scanner(System.in);
        //创建女朋友的对象
        GirlFriend gf = new GirlFriend();
        while (true) {
            try {
                //接收女朋友的姓名
                System.out.println("请输入你女朋友的名字:");
                String name = sc.nextLine();
                gf.setName(name);
                //接收女朋友的年龄
                System.out.println("请输入你女朋友的年龄:");
                String age = sc.nextLine();
                gf.setAge(Integer.parseInt(age));
                //如果所有的数据都是正确,那么跳出循环
                break;
            } catch (NumberFormatException e) {
                System.out.println("年龄的格式有误请输入数字");
            }catch (RuntimeException e) {
                System.out.println("姓名的长度或者年龄的范围有误");
            }
        }
        //打印女朋友的信息
        System.out.println(gf);

    }

}
